﻿using System;
using Close.io.Client;
using Newtonsoft.Json;

namespace Close.io.API
{
	public class Opportunity : CloseIoLeadObject, IIdentifiable
	{
		[JsonProperty(PropertyName = "contact_id")]
		public string ContactId { get; set; }

		[JsonProperty(PropertyName = "confidence")]
		public int? Confidence { get; set; }

		[JsonProperty(PropertyName = "value_period")]
		public string ValuePeriod { get; set; }

		[JsonProperty(PropertyName = "note")]
		public string Note { get; set; }

		[JsonProperty(PropertyName = "date_lost")]
		public DateTime? DateLost { get; set; }

		[JsonProperty(PropertyName = "date_won")]
		public DateTime? DateWon { get; set; }

		[JsonProperty(PropertyName = "status_label")]
		public string Status { get; set; }

		[JsonProperty(PropertyName = "status_id")]
		public string StatusId { get; set; }

		[JsonProperty(PropertyName = "status_type")]
		public string StatusType { get; private set; }

		[JsonProperty(PropertyName = "value")]
		public int? Value { get; set; }

		[JsonProperty(PropertyName = "user_id")]
		public string UserId { get; set; }

		[JsonProperty(PropertyName = "user_name")]
		public string UserName { get; private set; }
	}
}